﻿using System.ComponentModel.DataAnnotations;

namespace ManagementApi.Services.Cms.Request;

public class ProjectStatusReq
{
    /// <summary>
    /// 施工代码
    /// </summary>
    public string BuildCode { get; set; }

    /// <summary>
    /// 专户状态
    /// </summary>
    public SpecialAccountStatusType SpecialAccountStatus { get; set; }
    /// <summary>
    /// 考勤状态
    /// </summary>
    public CheckingInStatusType CheckingInStatus { get; set; }
    /// <summary>
    /// 代发状态
    /// </summary>
    public SubstituteStatusType SubstituteStatus { get; set; }
    /// <summary>
    /// 在建状态 传completed是完工，完工会解锁人员
    /// </summary>
    public BuildingStatusType BuildingStatus { get; set; }
}

/// <summary>
/// 专户状态枚举
/// </summary>
public enum SpecialAccountStatusType
{
    [Display(Name = "未统计")]
    Null = 0,
    [Display(Name = "已签约")]
    Y = 1,
    [Display(Name = "申请中")]
    W = 2,
    [Display(Name = "已销户")]
    E = 3,
    [Display(Name = "未签约")]
    N = 4,
}

/// <summary>
/// 考勤状态枚举
/// </summary>
public enum CheckingInStatusType
{
    [Display(Name = "未统计")]
    Null = 0,

    [Display(Name = "考勤人数少于在场人数的40%")]
    O = 1,

    [Display(Name = "考勤人数大于等于在场人数的40%")]
    Y = 2,

    [Display(Name = "无考勤")]
    N = 3,

    [Display(Name = "非在建项目")]
    E = 3,
}
/// <summary>
/// 代发状态枚举
/// </summary>
public enum SubstituteStatusType
{
    [Display(Name = "未统计")]
    Null = 0,

    [Display(Name = "代发人数比率小于80%")]
    O = 1,

    [Display(Name = "代发人数比率大于等于80%")]
    Y = 2,

    [Display(Name = "代发人数比率为0")]
    N = 3,
    [Display(Name = "非在建项目")]
    E = 3,
}



/// <summary>
/// 施工状态Stopped Building Completed NoStart
/// </summary>
public enum BuildingStatusType
{
    /// <summary>
    /// 默认值(未登记)
    /// </summary>
    [Display(Name = "未登记")]
    Null = 0,
    /// <summary>
    /// 暂停施工
    /// </summary>
    [Display(Name = "停工")]
    Stopped = 1,
    /// <summary>
    /// 施工中
    /// </summary>
    [Display(Name = "在建")]
    Building = 2,
    /// <summary>
    /// 完成
    /// </summary>
    [Display(Name = "已完工")]
    Completed = 3,
    /// <summary>
    /// 未开始
    /// </summary>
    [Display(Name = "未开工")]
    NoStart = 4,
    /// <summary>
    /// 申请中
    /// </summary>
    [Display(Name = "申请中")]
    Applying = 5,
}
